package main

import "fmt"

// int类型分为：int(有符号)，uint（无符号），uintptr（内存地址）
// int长度：int8[-2的7次方到2的7次方-1]，int16，int32，int64
// uint长度：uint8[0~(2的8次幂-1)]，uint16，uint32，uint64

// 进制转换，go语言中不能直接定义二进制

func main() {
	//十进制
	var i1 = 10
	fmt.Printf("十进制：%d\n", i1)
	fmt.Printf("二进制：%b\n", i1)
	fmt.Printf("八进制：%o\n", i1)  // 文件权限
	fmt.Printf("十六进制：%x\n", i1) // 内存地址
	fmt.Printf("变量类型：%T\n", i1)

	// 八进制
	i2 := 077
	fmt.Printf("十进制：%d\n", i2)
	fmt.Printf("二进制：%b\n", i2)
	fmt.Printf("八进制：%o\n", i2)
	fmt.Printf("十六进制：%x\n", i2)

	// 十六进制
	i3 := 0xa88
	fmt.Printf("十进制：%d\n", i3)
	fmt.Printf("二进制：%b\n", i3)
	fmt.Printf("八进制：%o\n", i3)
	fmt.Printf("十六进制：%x\n", i3)

	// 明确指定int8类型,否则默认未int
	i4 := int8(5)
	fmt.Printf("类型是：%T", i4)
}
